Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>IRCd</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/IRCd"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-IRCd rootpage-IRCd skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">IRCd</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */


.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style>
<p>An <b>IRCd</b>, short for <b>Internet Relay Chat <a href="Daemon_(computing)" title="Daemon (computing)">daemon</a></b>, is <a href="Server_(computing)" title="Server (computing)">server software</a> that implements the <a href="Internet_Relay_Chat" class="mw-redirect" title="Internet Relay Chat">IRC</a> <a href="Protocol_(computing)" class="mw-redirect" title="Protocol (computing)">protocol</a>, enabling people to talk to each other via the <a href="Internet" title="Internet">Internet</a> (exchanging <a href="Text-based_(computing)" class="mw-redirect" title="Text-based (computing)">textual</a> messages in real time).<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> It is distinct from an <a href="Internet_Relay_Chat_bot" class="mw-redirect" title="Internet Relay Chat bot">IRC bot</a> that connects outbound to an IRC channel.
</p><p>The server listens to connections from <a href="IRC_client" class="mw-redirect" title="IRC client">IRC clients</a><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> on a set of <a href="TCP_and_UDP_port" class="mw-redirect" title="TCP and UDP port">TCP ports</a>.<sup id="cite_ref-RFC1459_4-0" class="reference"><a href="#cite_note-RFC1459-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> When the server is part of an IRC network, it also keeps one or more established connections to other servers/daemons.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p><p>The term <i>ircd</i> originally referred to only one single piece of software,<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> but it eventually became a generic reference to any implementation of an IRC daemon.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> However, the original version is still distributed under the same name,<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> and this article discusses both uses.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>The original IRCd was known as 'ircd', and was authored by <a href="Jarkko_Oikarinen" title="Jarkko Oikarinen">Jarkko Oikarinen</a> (WiZ on IRC) in 1988.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> He received help from a number of others, such as Markku Savela (msa on IRC), who helped with the 2.2+msa release, etc.
</p><p>In its first revisions, IRC did not have many features that are taken for granted today, such as named channels and <a href="Internet_Relay_Chat_channel_operator" class="mw-redirect" title="Internet Relay Chat channel operator">channel operators</a>. Channels were numbered – channel 4 and channel 57, for example – and the channel <b>topic</b> described the kind of conversation that took place in the channel. One holdover of this is that joining channel 0 causes a client to leave all the channels it is presently on: "CHANNEL 0" being the original command to leave the current channel.
</p><p>The first major change to IRC, in version 2.5, was to add <b>named channels</b> – "+channels". "+channels" were later replaced with "#channels" in version 2.7, numeric channels were removed entirely and channel bans (mode +b) were implemented.
</p><p>Around version 2.7, there was a small but notable dispute, which led to ircu – the <a href="Undernet" title="Undernet">Undernet</a> fork of ircd.
</p><p>irc2.8 added "&amp;channels" (those that exist only on the current server, rather than the entire network) and "!channels" (those that are theoretically safe from suffering from the many ways that a user could exploit a channel by "<a href="IRC_takeover" title="IRC takeover">riding a netsplit</a>"), and is the baseline release from which nearly all current implementations are derived.
</p><p>Around 2.8 came the concept of nick and channel delay, a system designed to help curb abusive practices such as <a href="IRC_takeover" title="IRC takeover">takeovers</a> and split riding. This was not agreed on by the majority of modern IRC (EFnet, DALnet, Undernet, etc.) – and thus, 2.8 was forked into a number of different daemons using an opposing theory known as TS – or time stamping, which stored a unique time stamp with each channel or nickname on the network to decide which was the 'correct' one to keep.
</p><p>Time stamping itself has been revised several times to fix various issues in its design. The latest versions of such protocols are:
</p>
<ul><li>the TS6 protocol, which is used by <a href="EFnet" title="EFnet">EFnet</a>, and Hybrid and Ratbox based servers amongst others</li>
<li>the <a href="#P10">P10 protocol</a>, which is used by <a href="Undernet" title="Undernet">Undernet</a> and ircu based servers.</li></ul>
<p>While the client-to-server protocols are at least functionally similar, <a href="Server-to-server" class="mw-redirect" title="Server-to-server">server-to-server</a> protocols differ widely (TS5, P10, and ND/CD server protocols are incompatible), making it very difficult to "link" two separate implementations of the IRC server. Some "bridge" servers do exist, to allow linking of, for example, 2.10 servers to TS5 servers, but these are often accompanied with restrictions of which parts of each protocol may be used, and are not widely deployed.
</p><p>Significant releases based on 2.8 included:
</p>
<ul><li>2.8.21+CS, developed by Chris Behrens (<b>Comstud</b>)</li>
<li>2.8+th, Taner Halicioglu's patchset, which later became
<ul><li>Hybrid IRCd, originally developed by Jon Lusky (<b>Rodder</b>) and Diane Bruce (<b>Dianora</b>) as 2.8/hybrid, later joined by a large development team.</li></ul></li>
<li>2.9, 2.10, 2.11, ... continue the development of the original codebase,</li></ul>
<p>The original code base continued to be developed mainly for use on the <a href="IRCnet" title="IRCnet">IRCnet</a> network. New server-to-server protocols were introduced in version 2.10, released in 1998, and in 2.11, first released in 2004, and current as of 2007. This daemon is used by <a href="IRCnet" title="IRCnet">IRCnet</a> and it can be found at <a rel="nofollow" class="external free" href="http://www.irc.org/ftp/irc/server/">http://www.irc.org/ftp/irc/server/</a> The original ircd is <a href="Free_software" title="Free software">free software</a>, licensed under the <a href="GNU_General_Public_License" title="GNU General Public License">GNU General Public License</a>. This development line produced the 4 IRC RFCs released after RFC 1459, which document this server protocol exclusively.
</p><p>2.8.21+CS and Hybrid IRCd continue to be used on <a href="EFnet" title="EFnet">EFnet</a>, with ircd-ratbox (an offshoot of ircd-hybrid) as of 2004 being the most popular.
</p>
<div class="mw-heading mw-heading3"><h3 id="Sidestream_versions">Sidestream versions</h3></div>

<p>More recently, several irc daemons were written from scratch, such as ithildin,<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> InspIRCd,<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> csircd (also written by Chris Behrens), ConferenceRoom,<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> Microsoft Exchange Chat Service, WeIRCd,<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> or IRCPlus/IRCXPro.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>
</p><p>These attempts have met with mixed success, and large doses of skepticism from the existing IRC development community. With each new IRCd, a slightly different version of the IRC protocol is used,<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> and many <a href="IRC_client" class="mw-redirect" title="IRC client">IRC clients</a> and <a href="IRC_bot" title="IRC bot">bots</a> are forced to compromise on features or vary their implementation based on the server to which they are connected.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> These are often implemented for the purpose of improving usability, security, separation of powers, or ease of integration with <a href="IRC_services" title="IRC services">services</a>. Possibly one of the most common and visible differences is the inclusion or exclusion of the half-op <a href="Internet_Relay_Chat_channel_operator" class="mw-redirect" title="Internet Relay Chat channel operator">channel operator</a> status (which is not a requirement of the RFCs).
</p>
<div class="mw-heading mw-heading2"><h2 id="Features">Features</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Ports">Ports</h3></div>
<p>The officially assigned port numbers are 194 ("irc"), 529 ("irc-serv"), and 994 ("ircs").<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> However, these ports are in the <i>privileged</i> range (0–1024), which on a <a href="Unix-like" title="Unix-like">Unix-like</a> system means that the daemon would historically have to have <a href="Superuser" title="Superuser">superuser</a> privileges in order to open them. For various <a href="Security" title="Security">security</a> reasons this used to be undesirable.
</p><p>The common ports for an IRCd process are 6665 to 6669, with 6667 being the historical default.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> These ports can be opened by a non-superuser process, and they became widely used.
</p>
<div class="mw-heading mw-heading3"><h3 id="Connections">Connections</h3></div>
<p>Running a large IRC server, one that has more than a few thousand simultaneous users, requires keeping a very large number of <a href="Transmission_Control_Protocol" title="Transmission Control Protocol">TCP connections</a> open for long periods. Very few ircds are <a href="Thread_(computer_science)" class="mw-redirect" title="Thread (computer science)">multithreaded</a> as nearly every action needs to access (at least read and possibly modify) the global state.
</p><p>The result is that the best platforms for ircds are those that offer efficient mechanisms for handling huge numbers of connections in a single thread. <a href="Linux_kernel" title="Linux kernel">Linux</a> offers this ability in the form of <a href="Epoll" title="Epoll">epoll</a>, in kernel series newer than 2.4.x. <a href="FreeBSD" title="FreeBSD">FreeBSD</a> (since 4.1) and OpenBSD (since 2.9) offers <a href="Kqueue" title="Kqueue">kqueue</a>. <a href="Solaris_(operating_system)" class="mw-redirect" title="Solaris (operating system)">Solaris</a> has had <a rel="nofollow" class="external text" href="https://web.archive.org/web/20070202231908/http://access1.sun.com/techarticles/devpoll.html">/dev/poll</a> since version 7, and from version 10 onwards has <a href="IOCP" class="mw-redirect" title="IOCP">IOCP</a> (I/O Completion Ports). <a href="Windows" class="mw-redirect" title="Windows">Windows</a> has supported <a href="IOCP" class="mw-redirect" title="IOCP">IOCP</a> since Windows NT 3.5. The difference made by these new interfaces can be dramatic. IRCU developers have mentioned increases in the practical capacity per server from 10,000 users to 20,000 users.
</p>
<div class="mw-heading mw-heading3"><h3 id="TLS_(Transport_Layer_Security)">TLS (Transport Layer Security)</h3></div>
<p>Some IRCd support <a href="Transport_Layer_Security" title="Transport Layer Security">Transport Layer Security</a>, or TLS, for those who don't, it is still possible to use SSL via <a href="Stunnel" title="Stunnel">Stunnel</a>. The unofficial, but most often used port for TLS IRCd connections is <a href="List_of_TCP_and_UDP_port_numbers#Registered_ports" title="List of TCP and UDP port numbers">6697</a>. More recently, as a security enhancement and usability enhancement, various client and server authors have begun drafting a standard known as the STARTTLS standard<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> which allows for TLS and plain text connections to co-exist on the same TCP port.
</p>
<div class="mw-heading mw-heading3"><h3 id="IPv4_and_IPv6">IPv4 and IPv6</h3></div>
<p>IRC daemons support <a href="IPv4" title="IPv4">IPv4</a>, and some also support <a href="IPv6" title="IPv6">IPv6</a>. In general, the difference between IPv6 and IPv4 connections to IRC is purely academic and the service operates in much the same manner through either protocol.
</p>
<div class="mw-heading mw-heading3"><h3 id="Clustering">Clustering</h3></div>
<p>Large IRC networks consist of multiple servers for <a href="Horizontal_scaling" class="mw-redirect" title="Horizontal scaling">horizontal scaling</a> purposes. There are several IRC protocol extensions for these purposes.<sup id="cite_ref-scale_23-0" class="reference"><a href="#cite_note-scale-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading4"><h4 id="IRCX">IRCX</h4></div>
<p><a href="IRCX" title="IRCX">IRCX</a> (Internet Relay Chat eXtensions) is an extension to the IRC protocol developed by Microsoft<br>
</p>
<div class="mw-heading mw-heading4"><h4 id="P10">P10</h4></div>
<p>The <b>P10</b> protocol is an extension to the <a href="Internet_Relay_Chat" class="mw-redirect" title="Internet Relay Chat">Internet Relay Chat</a> protocol for server to server communications developed by the Undernet Coder Committee to use in their ircu server software. It is similar in purpose to <a href="IRCX" title="IRCX">IRCX</a> and EFnet TS5/TS6 protocols and implements nick and channel timestamping for handling nick collisions and netsplit channel riding, respectively. Other IRCd's that utilize this protocol extension include beware ircd.<sup id="cite_ref-scale_23-1" class="reference"><a href="#cite_note-scale-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading4"><h4 id="TS6">TS6</h4></div>
<p>The <b>TS6</b> protocol is an extension to the <a href="Internet_Relay_Chat" class="mw-redirect" title="Internet Relay Chat">Internet Relay Chat</a> protocol for server to server communications developed initially by the developers of ircd-ratbox. It has been extended by various IRC software and has the feature that proper implementations of TS6 can link to each other by using feature negotiation—even if features are disparate.
</p>
<div class="mw-heading mw-heading2"><h2 id="Configuration">Configuration</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Jupe">Jupe</h3></div>
<p><b>Juping</b> a server, a channel, or a nickname refers to the practice of blocking said channel or nickname on the <a href="Server_(computing)" title="Server (computing)">server</a> or <a href="Computer_network" title="Computer network">network</a> or said server on the network. One possible explanation of how this term came about is that it is named after the <a href="IRC_operator" title="IRC operator">oper</a> named Jupiter, who gained control of the nickname <a href="NickServ" class="mw-redirect" title="NickServ">NickServ</a> on <a href="EFnet" title="EFnet">EFnet</a>.<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> EFnet does not offer services such as NickServ; Jupiter gained control of the nickname as he (among other operators) did not believe nicknames should be owned. Today, EFnet opers jupe nicknames that are used as services on other networks.
</p><p>A nickname or server jupe takes advantage of the fact that certain identifiers are unique; by using an identifier, one acquires an exclusive lock that prevents other users from making use of it.
</p><p>Officially sanctioned jupes may also utilize services or server configuration options to enforce the jupe, such as when a compromised server is juped to prevent it from harming the network.
</p><p>In practice IRC operators now use jupe configurations to administratively make channel or nicknames unavailable.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> A channel jupe refers to a server specific ban of a channel, which means that a specific channel cannot be joined when connected to a certain server, but other servers may allow a user to join the channel. This is a way of banning access to problematic channels.
</p>
<div class="mw-heading mw-heading3"><h3 id="O-line">O-line </h3></div>
<p>An <b>O-line</b> (frequently also spelled as <b>O:line</b>; on IRCds that support local operators, the O-lines of those are called <b>o:lines</b> with a lower-case O), shortened from <i>Operator Line</i> and derived from the line-based configuration file of the original IRCd, is a line of code in an IRC daemon configuration file that determines which users can become an <a href="IRC_operator" title="IRC operator">IRC operator</a> and which permissions they get upon doing so. The name comes from the prefix used for the line in the original IRCd, a capital O. The O-line specifies the username, password, operator flags, and hostmask restrictions for a particular operator. A server may have many O-lines depending on the administrative needs of the server and network.<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup>
</p><p>Operator flags are used to describe the permissions an operator is granted. While some IRC operators may be in charge of network routing, others may be in charge of network abuse, making their need for certain permissions different.<sup id="cite_ref-RFC1459_4-1" class="reference"><a href="#cite_note-RFC1459-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Operator flags available vary widely depending on which IRC daemon is in use. Generally, more feature rich IRC daemons tend to have more operator flags, and more traditional IRC daemons have fewer.
</p><p>An O-line may also be set so that only users of a certain <a href="Hostmask" class="mw-redirect" title="Hostmask">hostmask</a> or <a href="IP_address" title="IP address">IP address</a> can gain IRC operator status using that O-line. Using hostmasks and IP addresses in the O-line requires the IP address to remain the same but provides additional security.
</p>
<div class="mw-heading mw-heading3"><h3 id="K-line">K-line</h3></div>
<p>When a user is <i>k-lined</i> (short for <b>kill line</b>), the user is banned from a certain server, either for a certain amount of time or permanently. Once the user is banned, they are not allowed back onto that server. This is recorded as a line in the server's IRC daemon configuration file prefixed with the letter "K", hence "K-line".
</p><p>Some IRC daemons, including ircd-hybrid and its descendants, can be configured to propagate K-lines to some or all other servers on a network. In such a configuration, K-lines are effectively global bans similar to G-lines.
</p><p>While the precise reason for the disconnection varies from case to case, usual reasons involve some aspect of the client or the user it is issued against.
</p>
<dl><dt>User behavior</dt>
<dd>K-lines can be given due to inappropriate behavior on the part of the user, such as "nickname colliding", mode "hacking", multiple channel flooding, harassing other users via <a href="Private_message" title="Private message">private messaging</a> features, "<a href="Spamming" title="Spamming">spamming</a>" etc., or in the case of older networks without timestamping, <a href="Split_riding" class="mw-redirect" title="Split riding">split riding</a>, which cannot be corrected through use of <a href="Internet_Relay_Chat_channel_operator" class="mw-redirect" title="Internet Relay Chat channel operator">channel operator</a> privileges alone.</dd>
<dt>Client software</dt>
<dd>Some IRC daemons can be configured to scan for viruses or other vulnerabilities in clients connecting to them, and will react in various ways according to the result. Outdated and insecure client software might be blocked to protect other network users from vulnerabilities, for instance. Some networks will disconnect clients operating on/via open <a href="Proxy_server" title="Proxy server">proxies</a>, or running an insecure web server.</dd>
<dt>Geographic location</dt>
<dd>An IRC network operating multiple servers in different locales will attempt to reduce the distance between a client and a server. This is often achieved by disconnecting (and/or banning) clients from distant locales in favour of local ones.</dd></dl>
<p>There are a number of other network "lines" relating to the K-line. Modern IRC daemons will also allow IRC operators to set these lines during normal operation, where access to the server configuration file is not routinely needed.
</p>
<div class="mw-heading mw-heading3"><h3 id="G-line">G-line</h3></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">"G-line" redirects here. For other uses, see <a href="G-line_(disambiguation)" class="mw-disambig" title="G-line (disambiguation)">G-line (disambiguation)</a>.</div>
<p>A <b>G-line</b> or <b>global kill line</b> (also written <b>G:line</b>) is a global network ban applied to a user; the term comes from <a href="Undernet" title="Undernet">Undernet</a> but on <a href="DALnet" title="DALnet">DALnet</a> a similar concept known as an <a href="AKill" class="mw-redirect" title="AKill">AKill</a> was used.
</p><p>G-lines are sometimes stored in the <a href="Configuration_file" title="Configuration file">configuration file</a> of the IRCd, although some networks, who handle K-lines through the <a href="IRC_services" title="IRC services">IRC services</a>, prefer to have them stored in their service's configuration files. Whenever a G-lined person attempts to connect to the IRC network, either the services or the IRC daemon will automatically disconnect the client, often displaying a message explaining the reasoning behind the ban.
</p><p>G-lines are a variant of K-lines, which work in much the same way, except K-lines only disconnect clients on one server of the network. G-lines are normally applied to a user who has received a K-line on one server but continues to abuse the network by connecting via a different server. G-lines are often regarded as an extreme measure, only to be used in cases of repeated abuse when extensive attempts have been made to reason with the offending user. Therefore, especially on larger networks, often only very high ranking global <a href="IRC_operator" title="IRC operator">IRC operators</a> are permitted to set them, while K-lines, which are mostly regarded as a local affair, are left to the operators of the individual <a href="Server_(computing)" title="Server (computing)">server</a> in the network.
</p><p>G-lines also work slightly differently from K-lines. G-lines are typically set as *@IPaddress or *@host, with the first being the better option. If the *@host option is used, the server must conduct a reverse DNS lookup on the user and then compare the returned host to the hosts in the G-line list. This results in delay, and, if the DNS doesn't return correct results, the banned user may still get on the network.
</p>
<div class="mw-heading mw-heading3"><h3 id="Z-line">Z-line </h3></div>
<div role="note" class="hatnote navigation-not-searchable">"Zline" redirects here. For other uses, see <a href="Z-line_(disambiguation)" class="mw-redirect mw-disambig" title="Z-line (disambiguation)">Z-line</a>.</div>
<p>A <b>Z-line</b> or <b>zap line</b> (also written <b>Z:line</b>) is similar to a K-line, but applied to a client's IP address range, and is considered to be used in extreme cases. Because a Z-line does not have to check usernames (identd) or <i>resolved</i> hostnames, it can be applied to a user before they send any data at all upon connection. Therefore, a Z-line is more efficient and uses fewer resources than a K-line or G-line when banning large numbers of users.
</p><p>In some IRC daemons such as ircd-hybrid, this is called a <b>D-line</b> (deny line) or an <b>X-line</b>.
</p><p>Z-lines are sometimes stored in the configuration file of the IRCd, although some networks, who handle lines through the IRC services, prefer to have them stored in their service's configuration files. Whenever a Z-lined person attempts to connect to the IRC network, either the services or the IRC daemon will automatically disconnect the client, often displaying a message explaining the reasoning behind the ban.
</p><p>Z-lines are a variant of K-lines, which work in much the same way. Most Z-lines are "awarded" to people who abuse the network as a whole (on smaller networks, these are more frequently issued for isolated incidents).
</p><p>Z-lines also work slightly differently from K-lines. Z-lines are typically set as *@IP or *@host, with the first being the better option. Z-lines do not wait for an ident response from the connecting user, but immediately close the socket once the user's IP is compared to the Z-line list and a match is found. If the *@host option is used, the server must conduct a reverse DNS lookup on the user and then compare the returned host to the hosts in the Z-line list. This can result in delays, or if the DNS doesn't return correctly, banned users could still get on the network. In actuality, the *@host option is completely against the intentions of using a Z-line, and therefore some IRCd programs will not allow anything other than *@IP, with <a href="Wildcard_character" title="Wildcard character">wildcards</a> (?,*) or <a href="Classless_Inter-Domain_Routing" title="Classless Inter-Domain Routing">CIDR prefix lengths</a> (<i>e.g. /8)</i> allowed in the IP section to block entire subnets. Another difference from K-lines (which affect only IRC clients) is if an IP is banned, nothing, not even other servers, can connect from this IP (or IP range, depending on the banmask).
</p><p>One advantage to using Z-lines over K-lines and G-lines, from a server or network administrator's perspective, a Z-line uses less bandwidth than a K-line, mainly because it doesn't wait for an <a href="Ident_protocol" title="Ident protocol">ident</a> response or <a href="Domain_Name_System" title="Domain Name System">DNS</a> lookup.
</p><p>A disadvantage to using Z-line over K-line or G-line is that it becomes more difficult to ban entire ISPs and very dynamic IP addresses, common with some <a href="Dialup" class="mw-redirect" title="Dialup">dialup</a> and <a href="Digital_subscriber_line" title="Digital subscriber line">DSL</a> connections. For example, if a network administrator wants to ban all of ISP example.com (with hypothetical <a href="IP_address" title="IP address">IP address</a> ranges of 68.0.0.0 – 68.255.255.255 and 37.0.0.0 – 38.255.255.255), a G-line could use *@*example.com, whereas Z-line would require *@37.*.*.*, *@38.*.*.*, and *@68.*.*.* to accomplish the same thing.
</p><p>Z-lines can also be global, in which case they are called <b>GZ-lines</b>. GZ-lines work in the same manner as Z-lines, except that they propagate to every server on the network. Some IRC daemons may also be configured to share Z-lines with other servers.
</p>
<div class="mw-heading mw-heading3"><h3 id="Q-line">Q-line</h3></div>
<div role="note" class="hatnote navigation-not-searchable">"Q-line" redirects here. For the New York City subway service, see <a href="Q_(New_York_City_Subway_service)" title="Q (New York City Subway service)">Q (New York City Subway service)</a>. For the Detroit streetcar service, see <a href="QLine" title="QLine">QLine</a>.</div>
<p>On some IRCds, such as UnrealIRCd, a <b>Q-line</b> forbids a nickname, or any nickname matching a given pattern. This is most often used to forbid use of services nicknames (such as "X", or <a href="NickServ" class="mw-redirect" title="NickServ">NickServ</a>) or forbid use of <a href="IRC_operator" title="IRC operator">IRC operator</a> nicknames by non-operators. Some IRC daemons may disconnect users when initially applying the Q-line, whilst others will force a nickname change, or do nothing until the user covered by the Q-line reconnects. Other IRCds, like ircd-hybrid, use the "RESV" ("reserve") command instead, with the stats letter remaining as Q. The "RESV" command can also forbid a channel from being used.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Internet_Relay_Chat_services" class="mw-redirect" title="Internet Relay Chat services">Internet Relay Chat services</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;">
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFKalt2000" class="citation journal cs1">Kalt, C. (2000). <span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="http://tools.ietf.org/html/rfc2810#section-4">"RFC 2810 - Internet Relay Chat: Architecture"</a></span>. Tools.ietf.org. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.17487%2FRFC2810">10.17487/RFC2810</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-03</span></span>.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite journal}}</code>: </span><span class="cs1-visible-error citation-comment">Cite journal requires <code class="cs1-code">|journal=</code> (help)</span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.irchelp.org/irchelp/ircd/server-request.html">IRC Server Request FAQ</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090422113612/http://www.irchelp.org/irchelp/ircd/server-request.html">Archived</a> 2009-04-22 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFKalt2000" class="citation journal cs1">Kalt, C. (2000). <span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="http://tools.ietf.org/html/rfc2810#section-2.1">"RFC 2810 – Internet Relay Chat: Architecture"</a></span>. Tools.ietf.org. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.17487%2FRFC2810">10.17487/RFC2810</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-03</span></span>.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite journal}}</code>: </span><span class="cs1-visible-error citation-comment">Cite journal requires <code class="cs1-code">|journal=</code> (help)</span></span>
</li>
<li id="cite_note-RFC1459-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-RFC1459_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-RFC1459_4-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFOikarinenReed1993" class="citation journal cs1">Oikarinen, J.; Reed, D. (1993). <span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="http://tools.ietf.org/html/rfc1459#section-1">"RFC 1459 – Internet Relay Chat Protocol"</a></span>. Tools.ietf.org. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.17487%2FRFC1459">10.17487/RFC1459</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-03</span></span>.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite journal}}</code>: </span><span class="cs1-visible-error citation-comment">Cite journal requires <code class="cs1-code">|journal=</code> (help)</span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFOikarinenReed1993" class="citation journal cs1">Oikarinen, J.; Reed, D. (1993). <span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="http://tools.ietf.org/html/rfc1459#section-1.1">"RFC 1459 – Internet Relay Chat Protocol"</a></span>. Tools.ietf.org. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.17487%2FRFC1459">10.17487/RFC1459</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-03</span></span>.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite journal}}</code>: </span><span class="cs1-visible-error citation-comment">Cite journal requires <code class="cs1-code">|journal=</code> (help)</span></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.irc.org/tech_docs/ircnet/faq.html#ircd">IRCD FAQ on irc.org</a></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://searchirc.com/ircd-versions">"Search IRC, IRCD version overview"</a>. Searchirc.com<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-03</span></span>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.dmoz.org/Computers/Software/Internet/Servers/Chat/IRC/">"Open Directory – Computers: Software: Internet: Servers: Chat: IRC"</a>. Dmoz.org. 2010-02-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-03</span></span>.</cite></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.funet.fi/~irc/server/">"IRCD – the server"</a>. Funet.fi<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-03</span></span>.</cite></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.irc.org/history_docs/jarkko.html">IRC History on IRC.org</a></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://daniel.haxx.se/irchistory.html">History of IRC, Daniel Stenberg</a></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.ithildin.org/">Ithildin IRCd</a></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.inspircd.org/">Inspire IRCd</a></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160303213029/http://www.conferenceroom.com/">"WebMaster Inc"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.conferenceroom.com/">the original</a> on 2016-03-03<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-01-20</span></span>.</cite></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite class="citation web cs1 cs1-prop-unfit"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20100514140803/http://eloxoph.com/weircd/">"WeIRCd"</a>. Archived from the original on 2010-05-14<span class="reference-accessdate">. Retrieved <span class="nowrap">2009-03-26</span></span>.</cite></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.ircxpro.com">OfficeIRC – IRC Server Software, Web Chat, Internal Communications and Instant Messaging (IM)</a></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://smartirc4net.meebey.net/jaws/index.php?blog/show/SmartIrc4net_035_released">Blog entry mentioning RFC violations</a></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.alien.net.au/irc/irc2numerics.html">Numerics diversity of different IRC daemons</a></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://git.dmdirc.com/cgit.cgi/parser/tree/src/com/dmdirc/parser/irc/IRCParser.java">Client source (DMDirc) showing conditions for different servers (e.g. in function starting at line 1523)</a></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.iana.org/assignments/port-numbers">IANA.org</a></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><cite id="CITEREFOikarinenReed1993" class="citation journal cs1">Oikarinen, J.; Reed, D. (1993). <span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="http://tools.ietf.org/html/rfc1459#section-5.6">"RFC 1459 – Internet Relay Chat Protocol"</a></span>. Tools.ietf.org. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.17487%2FRFC1459">10.17487/RFC1459</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-03</span></span>.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite journal}}</code>: </span><span class="cs1-visible-error citation-comment">Cite journal requires <code class="cs1-code">|journal=</code> (help)</span></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080624222000/http://www.inspircd.org/wiki/STARTTLS_Documentation">"STARTTLS standard"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.inspircd.org/wiki/STARTTLS_Documentation">the original</a> on 2008-06-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2008-07-20</span></span>.</cite></span>
</li>
<li id="cite_note-scale-23"><span class="mw-cite-backlink">^ <a href="#cite_ref-scale_23-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-scale_23-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Paul Mutton, <i>IRC hacks</i>, <a href="O'Reilly_Media" title="O'Reilly Media">O'Reilly Media</a>, 2004, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>0-596-00687-X</bdi>, pp. 371</span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://ircd.bircd.org/bewarep10.txt">beware's P10 documentation</a></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://web.mit.edu/klmitch/Sipb/devel/src/ircu2.10.11/doc/p10.html">ircu P10 documentation</a></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://forum.efnet.org/viewtopic.php?p=736&amp;sid=93438e76e1948098a2575a7474b56cbd#p736">"Reply to thread "K-lined for attemting [<i>sic</i>] to join juped channel&nbsp;?" on EFnet forums"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2013-03-13</span></span>.</cite></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20070226012149/http://freenode.net/using_the_network.shtml">"Freenode, Using the network"</a>. Archived from <a rel="nofollow" class="external text" href="http://freenode.net/using_the_network.shtml">the original</a> on 2007-02-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2007-02-25</span></span>.</cite></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://docs.dal.net/docs/operinfo.html">IRC Operator Version 1.1.2</a></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.irc.org">irc.org – IRC resources</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110221122841/http://www.irc.org/">Archived</a> 2011-02-21 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a></li>
<li><a rel="nofollow" class="external text" href="http://www.irc.org/tech_docs/TS-Delay.html">Technical comparison of TS and nickname delay mechanisms</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080404160036/http://www.darkfire.net/irc/docs/opermanual.shtml">DarkFire IRC Manual (network specific)</a></li>
<li><a rel="nofollow" class="external text" href="https://www.user-com.undernet.org/documents/k-gline.txt">Undernet K-Line and G-Line FAQ</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20080401093403/http://www.user-com.undernet.org/documents/k-gline.txt">Archived</a> 2008-04-01 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a> with reasons for them, amongst other things</li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080827185523/http://www.efnet.info/faq.html">EFnet FAQ</a> with several -line terms explained</li>
<li><a rel="nofollow" class="external text" href="http://www.quakenet.org/faq/faq.php?f=11#11">Quakenet General FAQ</a> G/K-Line</li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080323045540/http://www.inspircd.org/wiki/Commands#.2FKLINE_.5Buser.40host.5D_.7B.5Bduration.5D_:.5Breason.5D.7D">GLine, KLine, QLine and ELine syntax</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Internet_Relay_Chat_(IRC)170" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Internet_Relay_Chat_(IRC)170" style="font-size:114%;margin:0 4em"><a href="Internet_Relay_Chat" class="mw-redirect" title="Internet Relay Chat">Internet Relay Chat</a> (IRC)</div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><a href="Comparison_of_IRC_clients" title="Comparison of IRC clients">Comparison of clients</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Common terms</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="BNC_(software)" title="BNC (software)">BNC</a></li>
<li><a href="IRC_bot" title="IRC bot">Bot</a></li>
<li><a href="Denial-of-service_attack" title="Denial-of-service attack">DoS attack</a></li>
<li><a href="IRC_flood" title="IRC flood">Flood</a></li>
<li><a href="Netsplit" title="Netsplit">Netsplit</a></li>
<li><a href="IRC_operator" title="IRC operator">Operator</a></li>
<li><a href="IRC_script" title="IRC script">Script</a></li>

<li><a href="IRC_services" title="IRC services">Services</a></li>
<li><a href="IRC_takeover" title="IRC takeover">Takeover</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related protocols</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="IRCX" title="IRCX">IRCX</a></li>
<li><a href="MSN_Chat" title="MSN Chat">MSN Chat</a></li>
<li><a href="Client-to-client_protocol" title="Client-to-client protocol">CTCP</a></li>
<li><a href="Direct_Client-to-Client" title="Direct Client-to-Client">DCC</a></li>
<li><a href="XDCC" title="XDCC">XDCC</a></li>
<li><a href="Ident_protocol" title="Ident protocol">Ident</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Networks</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="DALnet" title="DALnet">DALnet</a></li>
<li><a href="EFnet" title="EFnet">EFnet</a></li>
<li><a href="Freenode" title="Freenode">Freenode</a></li>
<li><a href="GameSurge" title="GameSurge">GameSurge</a></li>
<li><a href="IRCnet" title="IRCnet">IRCnet</a></li>
<li><a href="Libera_Chat" title="Libera Chat">Libera Chat</a></li>
<li><a href="Open_and_Free_Technology_Community" title="Open and Free Technology Community">OFTC</a></li>
<li><a href="QuakeNet" title="QuakeNet">QuakeNet</a></li>
<li><a href="Rizon" title="Rizon">Rizon</a></li>
<li><a href="RusNet" title="RusNet">RusNet</a></li>
<li><a href="SlashNET" title="SlashNET">SlashNET</a></li>
<li><a href="Snoonet" class="mw-redirect" title="Snoonet">Snoonet</a></li>
<li><a href="Undernet" title="Undernet">Undernet</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Technology</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Eggdrop" title="Eggdrop">Eggdrop</a></li>
<li><a href="Infobot" title="Infobot">Infobot</a></li>
<li>Blowfish Encryption</li>
<li><a href="BitlBee" title="BitlBee">BitlBee</a></li>
<li><a href="ZNC" title="ZNC">ZNC</a></li>
<li><a href="UnrealIRCd" title="UnrealIRCd">UnrealIRCd</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">See also</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="List_of_Internet_Relay_Chat_commands" class="mw-redirect" title="List of Internet Relay Chat commands">List of commands</a></li>
<li><a href="IRC_subculture" title="IRC subculture">Subculture</a></li>
<li><a href="Jarkko_Oikarinen" title="Jarkko Oikarinen">Jarkko Oikarinen</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Clients</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">macOS</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Colloquy_(software)" title="Colloquy (software)">Colloquy</a></li>
<li>Fire</li>
<li><a href="Homer_(software)" title="Homer (software)">Homer</a></li>
<li><a href="Ircle" title="Ircle">Ircle</a></li>
<li><a href="Linkinus" title="Linkinus">Linkinus</a></li>
<li><a href="Snak" title="Snak">Snak</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Microsoft Windows</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bersirc" title="Bersirc">Bersirc</a></li>
<li><a href="MIRC" title="MIRC">mIRC</a></li>
<li><a href="Microsoft_Comic_Chat" title="Microsoft Comic Chat">Microsoft Comic Chat</a></li>
<li><a href="PIRCH_(IRC_client)" title="PIRCH (IRC client)">PIRCH</a></li>
<li><a href="Shareaza" title="Shareaza">Shareaza</a></li>
<li><a href="Visual_IRC" title="Visual IRC">Visual IRC</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Unix-like</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="IrcII" title="IrcII">ircII</a></li>
<li><a href="Ii_(IRC_client)" title="Ii (IRC client)">Ii</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Cross-platform</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Ayttm" title="Ayttm">Ayttm</a></li>
<li><a href="BitchX" title="BitchX">BitchX</a></li>
<li><a href="IRC_Cloud" title="IRC Cloud">IRC Cloud</a></li>
<li><a href="Irssi" title="Irssi">Irssi</a></li>
<li><a href="Konversation" title="Konversation">Konversation</a></li>
<li><a href="KVIrc" title="KVIrc">KVIrc</a></li>
<li><a href="LeafChat" title="LeafChat">LeafChat</a></li>
<li><a href="Naim_(software)" title="Naim (software)">naim</a></li>
<li><a href="Nettalk_(IRC_client)" title="Nettalk (IRC client)">Nettalk</a></li>
<li><a href="Smuxi" title="Smuxi">Smuxi</a></li>
<li><a href="WeeChat" title="WeeChat">WeeChat</a></li>
<li><a href="HexChat" title="HexChat">HexChat</a></li>
<li><a href="PJIRC" title="PJIRC">PJIRC</a></li>
<li><a href="Quassel_IRC" title="Quassel IRC">Quassel IRC</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Multi-IM</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Centericq" title="Centericq">Centericq</a></li>
<li><a href="Empathy_(software)" title="Empathy (software)">Empathy</a></li>
<li><a href="Kopete" title="Kopete">Kopete</a></li>
<li><a href="Miranda_NG" title="Miranda NG">Miranda NG</a></li>
<li><a href="Pidgin_(software)" title="Pidgin (software)">Pidgin</a></li>
<li><a href="Trillian_(software)" title="Trillian (software)">Trillian</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Web-based</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CGI%3AIRC" title="CGI:IRC">CGI:IRC</a></li>
<li><a href="PJIRC" title="PJIRC">PJIRC</a></li>
<li><a href="Mibbit" title="Mibbit">Mibbit</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Web browser components</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ChatZilla" title="ChatZilla">ChatZilla</a></li>
<li><a href="Mozilla_Application_Suite" title="Mozilla Application Suite">Mozilla Application Suite</a></li>
<li><a href="Mozilla_Thunderbird" title="Mozilla Thunderbird">Mozilla Thunderbird</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Library and plug-ins</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ERC_(software)" title="ERC (software)">ERC</a></li>
<li><a href="Rcirc" title="Rcirc">rcirc</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>Category</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-20" href="https://en.wikipedia.org/wiki/?title=IRCd&amp;oldid=1301626708">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>